package modelo.gestionReserva;

import java.io.Serializable;

/**
 * Clase mediante la que se representa una mesa de un restaurante
 * @version 2.0
 * @created 21-mar-2007 21:39:34
 * @author Luis Miguel Merino Bonilla, Carmen Pastor Morales, Ana Belén Pelegrina Ortiz
 */
public class Mesa implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3390847777805830003L;
	private int numMesa;
	private int capacidadMax;//En BD es capacidad_maxima
	private String estado;
	private int plazasOcupadas; //En BD es capacidad_actual
	private int idRestaurante;
	private int plazas_perdidas;
	private int plazas_perdidas_extremos;
	//Variable que almacena el numero de plazas ocupadas si la mesa esta ocupada
	

	// public Reserva m_Reserva;

	/**
	 * 
	 * @param estado
	 * @param capacidad
	 * @param numero_mesa
	 * @param plazas_perdidas
	 * @param plazas_perdidas_extremos
	 */
	public Mesa(int numMesa, String estado, int capacidadMax,int plazasOcupadas, int idRestaurante) {
		this.estado = estado;
		this.capacidadMax = capacidadMax;
		this.numMesa = numMesa;
		this.plazasOcupadas=plazasOcupadas;
		this.idRestaurante=idRestaurante;
	}
	
	public int getCapacidadMax() {
		return capacidadMax;
	}


	public void setCapacidadMax(int capacidadMax) {
		this.capacidadMax = capacidadMax;
	}


	public String getEstado() {
		return estado;
	}


	public void setEstado(String estado) {
		this.estado = estado;
	}


	public int getNumMesa() {
		return numMesa;
	}


	public void setNumMesa(int numMesa) {
		this.numMesa = numMesa;
	}


	public int getPlazasOcupadas() {
		return plazasOcupadas;
	}


	public void setPlazasOcupadas(int plazasOcupadas) {
		this.plazasOcupadas = plazasOcupadas;
	}
	
	public void cambiarEstado(String nuevo_estado) {
		this.estado = nuevo_estado;
	}

	public int getIdRestaurante() {
		return idRestaurante;
	}

	public void setIdRestaurante(int idRestaurante) {
		this.idRestaurante = idRestaurante;
	}
	
	
	public void ocuparMesa()
	{
		this.estado="ocupado";
	}
	
	/**
	 * Redefinicion de equals para Mesa
	 */
	public boolean equals(Object mesa)
	{
		if(mesa.getClass().getName().equals("Mesa"))
			return this.numMesa==((Mesa)mesa).getNumMesa();
		
		
		return false;
	}
	/**
	 * Redefinicion de toString para Mesa
	 */
	public String toString()
	{
		String s=""+this.numMesa;
		return  s;
	}

	public int getPlazas_perdidas() {
		return plazas_perdidas;
	}

	public void setPlazas_perdidas(int plazas_perdidas) {
		this.plazas_perdidas = plazas_perdidas;
	}

	public int getPlazas_perdidas_extremos() {
		return plazas_perdidas_extremos;
	}

	public void setPlazas_perdidas_extremos(int plazas_perdidas_extremos) {
		this.plazas_perdidas_extremos = plazas_perdidas_extremos;
	}
	
	/*
	
	

	public int getCapacidad() {
		return this.capacidad;
	}

	public int getCapacidadMaxima() {
		return this.capacidad_maxima;
	}

	public String getEstado() {
		return this.estado;
	}

	
	public void setCapacidad(int nueva_capacidad) {
		this.capacidad = nueva_capacidad;
	}

	public void setCapacidadMaxima(int nueva_capacidad_maxima) {
		this.capacidad_maxima = nueva_capacidad_maxima;
	}

	
	// EING?!
	public void consultarEstadoFechaHora(Date fecha, Date hora) {
		
	}

	public int getPlazasPerdidas() {
		return this.plazas_perdidas;
	}

	public int getPlazasPerdidasExtremos() {
		return this.plazas_perdidas_extremos;
	}

	public void setPlazasPerdidas(int p) {
		this.plazas_perdidas = p;
	}

	
	public void setPlazasPerdidasExtremos(int p) {
		this.plazas_perdidas_extremos = p;
	}

	public int getNumMesa() {
		return num_mesa;
	}*/


	
}